<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>添加商品属性</title>
	<style>

    </style>
	<link rel="stylesheet" href="{{ asset('admin_style/css/pintuer.css') }}">
   <link rel="stylesheet" href="{{ asset('admin_style/css/admin.css') }}">
    <script src="{{asset('admin_style/js/jquery.js')}}"></script>
    <script src="{{asset('admin_style/js/pintuer.js')}}"></script>
<link rel="stylesheet" href="{{asset('admin_style/css/style.css')}}">
<!--<link rel="stylesheet" href="css/ace.min.css">-->


<link rel="stylesheet" href="{{ asset('admin_style/js/umeditor/themes/default/css/umeditor.css')}}">
<script type="text/javascript" src="{{ asset('admin_style/js/jeDate/jedate.js')}}"></script>
</head>
<body>
<div class="panel-head"><strong class="icon-reorder"> 添加商品属性</strong></div>
<center>

<div style="color:red">请您一次性把商品的属性添加完毕，否则下次添加的时候你这次添加的就会被清空！</div>
<form action="{{ url('goods/goods_attr_do')}}" method="post"> 
	<div class="container" style="padding:30px;">
		@foreach($attrname as $k=>$v)
				<div class="row" >
				{{$v}}：
					@foreach($attrvalue[$k] as $vv)
						{{$vv->attr_value}}<input type="checkbox" class="as" name="{{$attr_id[$k]}}" value="{{$vv->attr_value}}" id="{{$attr_id[$k]}}:{{$vv->id}}">
					@endforeach
				</div>
                <br />
		@endforeach

	</div>
    <div class="box">

    </div>
    <div class="box1"></div>
	<input type="hidden" name="_token" value="{{csrf_token()}}">
	<input type="hidden" name="goods_id" value="{{$goods_id}}">
    <input type="hidden" name="id" value="" id="iu">
    <input type="hidden" name="idi" value="" id="iuu">
    <input type="submit" value="添加" class="button bg-green">
    <input type="reset" name="button" id="button" value="重置" class="button bg-red">
</form>
</center>
	
</body>
</html>
<script type="text/javascript" src="{{asset('admin_style/js/jquery.js')}}"></script>
<script type="text/javascript" charset="utf-8" src="{{asset('admin_style/js/umeditor/umeditor.config.js')}}"></script>
<script type="text/javascript" charset="utf-8" src="{{asset('admin_style/js/umeditor/umeditor.min.js')}}"></script>
<script type="text/javascript" charset="utf-8" src="{{asset('admin_style/js/umeditor/lang/zh-cn/zh-cn.js')}}"></script>
<script type="text/javascript">
            (function(){  
                //两个数组的笛卡尔积
                var Dicar = function(a,b){  
                    var ret=[];  
                    for(var i=0;i<a.length;i++){  
                        for(var j=0;j<b.length;j++){  
                        ret.push(multi(a[i],b[j]));  
                        }  
                    }  
                    return ret;  
                }  
                var multi = function(a,b){  
                    if(!(a instanceof Array))  
                        a = [a];  
                    var ret = Array.call(null,a);  
                    ret.push(b);  
                    return ret;  
                }  
                //递归求笛卡尔最后结果  
                multiDicar = function(data){  
                    var len = data.length;  
                    if(len == 0) {
                        return []; 
                    }else if(len == 1){
                        return data[0];    
                    }else{  
                        var r=data[0];  
                        for(var i=1;i<len;i++){
                            var s = Dicar(r,data[i])
                            if(s.length>0){
                                r=s;
                            }
                        }  
                        return r;  
                    }  
                }  
            })();  
        
        
            //给按钮添加选中取消标志
            $(".container .row input").on("click",function(){
                $(this).toggleClass("checked");
            });
            
            
            (function(){    
                //获取矩阵按钮
                function getBtn(ele){
                    var arr=[];
                    var contain = $(ele);
                    for(let i=0;i<contain.length;i++){
                        arr.push($.makeArray(contain[i].children));
                    }
                    return arr;
                }
                //生成二维数组
                var data = getBtn(".container .row"); 
    
                //判断点击的元素是否在二维数组中
                function getIndex(ele,map){
                    var res=[];
                    for(let i=0;i<map.length;i++){
                        for(let j=0;j<map[i].length;j++){
                            if(map[i][j] == ele){
                                res = [i,j];
                            }
                        }
                    }
                    return res;            
                }
               
               //生成结果二维数组
                var checked=[];
                for(let i = 0;i<data.length;i++){
                    checked[i] = []; 
                } 
                
                //处理结果二维数组中的断层
                //如果有中间一行没数据，就截断阵列
                function deal(checked){
                    if(checked[0].length == 0){
                        return [[]]
                    }
                    for(let i=0;i<checked.length;i++){         
                        if(checked[i].length == 0){
                            return checked.slice(0,i);
                        }
                    }
                    return checked;    
                }
                
                //删除数组的元素
                function removeByValue(arr, val) {
                  for(var i=0; i<arr.length; i++) {
                    if(arr[i] == val) {
                      arr.splice(i, 1);
                      break;
                    }
                  }
                }
    
                //绑定点击事件
                var arr   = new Array();
                var arrid = new Array();
                var attr  = new Array();
                $(".container .row input").on("click",function(){
                    if($(this).is(":checked")){
                        var name = $(this).attr('name');
                        if($.inArray(name,arr) == -1){
                            arr.push(name);
                        }
                        $('#iu').attr("value",arr);
                    }
                    //alert($(this).attr('name'));
                    
                    //$('#iuu').attr("value",arrid);
                    //二次调用

                    
                    $(".box").empty();
                    
                   // console.log(arrid);
                    var _this=$(this);
                    //判断在哪行那列
                    var res = getIndex(_this[0],data);
                    //如果数据已经存在，就把它删除 ，bug在于按钮的文字不能重复
                    if(($.inArray(_this.val(),checked[res[0]])) !==-1){
                        removeByValue(checked[res[0]],_this.val());
                    }else{
                        checked[res[0]].push(_this.val());
                    }
                    //做笛卡尔积的结果
                    var r = multiDicar(deal(checked));
                    for(var i=0;i<r.length;i++){ 
                        str = "("+r[i]+")"+"库存：<input type='text' name='reper[]'  /> 价格：<input type='text' name='price[]'/> <input type='hidden' name='goods_id' value='{{$goods_id}}'><br>";
                            $(".box").append(str);
                    }
                });
                //全选反选
                $('input[name="quan"]').click(function(){  
                    //alert(this.checked);  
                    if($(this).is(':checked')){  
                        $('.chec').each(function(){  
                            //此处如果用attr，会出现第三次失效的情况  
                            $(this).prop("checked",true);  
                        });  
                    }else{  
                        $('.chec').each(function(){  
                                $(this).removeAttr("checked",false);  
                            });    
                    }  
                });   
            })();


        </script>

        <script>
             (function(){  
                //两个数组的笛卡尔积
                var Dicar = function(a,b){  
                    var ret=[];  
                    for(var i=0;i<a.length;i++){  
                        for(var j=0;j<b.length;j++){  
                        ret.push(multi(a[i],b[j]));  
                        }  
                    }  
                    return ret;  
                }  
                var multi = function(a,b){  
                    if(!(a instanceof Array))  
                        a = [a];  
                    var ret = Array.call(null,a);  
                    ret.push(b);  
                    return ret;  
                }  
                //递归求笛卡尔最后结果  
                multiDicar = function(data){  
                    var len = data.length;  
                    if(len == 0) {
                        return []; 
                    }else if(len == 1){
                        return data[0];    
                    }else{  
                        var r=data[0];  
                        for(var i=1;i<len;i++){
                            var s = Dicar(r,data[i])
                            if(s.length>0){
                                r=s;
                            }
                        }  
                        return r;  
                    }  
                }  
            })();  
        
        
            //给按钮添加选中取消标志
            $(".container .row input").on("click",function(){
                $(this).toggleClass("checked");
            });
            
            
            (function(){    
                //获取矩阵按钮
                function getBtn(ele){
                    var arr=[];
                    var contain = $(ele);
                    for(let i=0;i<contain.length;i++){
                        arr.push($.makeArray(contain[i].children));
                    }
                    return arr;
                }
                //生成二维数组
                var data = getBtn(".container .row"); 
    
                //判断点击的元素是否在二维数组中
                function getIndex(ele,map){
                    var res=[];
                    for(let i=0;i<map.length;i++){
                        for(let j=0;j<map[i].length;j++){
                            if(map[i][j] == ele){
                                res = [i,j];
                            }
                        }
                    }
                    return res;            
                }
               
               //生成结果二维数组
                var checked=[];
                for(let i = 0;i<data.length;i++){
                    checked[i] = []; 
                } 
                
                //处理结果二维数组中的断层
                //如果有中间一行没数据，就截断阵列
                function deal(checked){
                    if(checked[0].length == 0){
                        return [[]]
                    }
                    for(let i=0;i<checked.length;i++){         
                        if(checked[i].length == 0){
                            return checked.slice(0,i);
                        }
                    }
                    return checked;    
                }
                
                //删除数组的元素
                function removeByValue(arr, val) {
                  for(var i=0; i<arr.length; i++) {
                    if(arr[i] == val) {
                      arr.splice(i, 1);
                      break;
                    }
                  }
                }
    
                //绑定点击事件
                $(".container .row input").on("click",function(){
                    $(".box1").empty();
                    var _this=$(this);
                    //判断在哪行那列
                    var res = getIndex(_this[0],data);
                    //如果数据已经存在，就把它删除 ，bug在于按钮的文字不能重复
                    if(($.inArray(_this.attr('id'),checked[res[0]])) !==-1){
                        removeByValue(checked[res[0]],_this.attr('id'));
                    }else{
                        checked[res[0]].push(_this.attr('id'));
                    }
                    //做笛卡尔积的结果
                    var r = multiDicar(deal(checked));
                    for(var i=0;i<r.length;i++){ 
                        str = '<input type="hidden" name="sku1[]" value="'+r[i]+'"/>';
                        $(".box1").append(str);
                    }
                });  
            })();
        </script>